草庐IT

java - 为什么 package-info.java 有用?

全部标签

javascript - 为什么要用 array.push() 来做一个对象?

我正在阅读HowcanIgetquerystringvaluesinJavaScript?在Stackoverflow上,第一个回复中的这段代码让我想知道为什么要这样使用“vars.push()”?functiongetUrlVars(){varvars=[],hash;varhashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');for(vari=0;i但不是这样的:varvars=[];...vars.push(hash[0]);vars[hash[0]]=hash[1];我

javascript - 为什么控制台会注意到我在更改原型(prototype)之前更改了原型(prototype)?

我正在学习Javascript原型(prototype)并用这个javascript制作了一个Fiddle(http://jsfiddle.net/3MuZa/1/):functionAnimal(name,sound){this.name=name;this.sound=sound;}vardog=newAnimal("Dog","Bark");console.debug(dog.__proto__);Animal.prototype.makeSound=function(){console.log(this.sound);};有趣的是,console.debug(dog.__pro

javascript - 使用 angular.module 创建 Controller 有什么好处(如果有的话)?

我是angular.js的新手,目前正在编写我的第一个项目。目前我的Controller看起来像这样,例如:functionMyCtrl($scope,MyService){$scope.foo=MyService.doStuff();}他们以这种方式工作得很好(到目前为止),但我浏览了另一个AngularJS应用程序的源代码并注意到他们正在使用angular.module来创建他们的Controller。如果有的话,我为什么要在自己的应用程序中这样做? 最佳答案 如果您的页面上有多个Angular应用程序并且它们具有同名的Cont

javascript - Object.create( Class.prototype ) 在这段代码中做了什么?

我正在阅读mixinpatterninjavascript我遇到了这段我不理解的代码:SuperHero.prototype=Object.create(Person.prototype);原代码中实际上有一个错字(大写的H)。如果我小写它就可以了。但是,如果我真的删除该行,一切似乎都一样。完整代码如下:varPerson=function(firstName,lastName){this.firstName=firstName;this.lastName=lastName;this.gender="male";};//anewinstanceofPersoncantheneasily

javascript - for...in 循环和 jQuery each() 函数有什么区别?

这个问题在这里已经有了答案:关闭10年前。我正在使用以下脚本来迭代对象(我不知道哪个最好用,请告诉我哪个最好):vardays={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};$.each(days,function(key,value){$('#days').append(''+key+'('+value+')');});for(varkeyindays){$('#days').append(''+key+'('+days[key]+')');}

javascript - 为什么 for-in 在 javascript 中很慢?

我在几个地方读到for-in循环比遍历数组慢...虽然我知道与在场景后面发生的任何迭代相比,在sizeof(type)block中向前移动实际上是毫不费力的一个对象的键,我还是很好奇,究竟是什么原因这么慢...是否必须执行反向散列函数才能获取key,这个过程很慢? 最佳答案 在任何特定引擎的情况下,真正的答案可能取决于该引擎的实现。(差异的大小,如果有的话。)但是,有不变量。例如,考虑:varobj={a:"alpha",b:"beta"};varname;for(nameinobj){console.log(obj[name]);

javascript - Chrome 控制台输出中的 "less than dot"符号是什么意思?

有时,但并非总是如此,当ChromeJavaScript控制台中的计算结果为“未定义”时,左边距中会出现一个符号,看起来像一个带点的小于号。示例可见thissectionoftheChromedeveloper'stoolsdocumentation.但是这个符号的含义似乎从未被解释过。有人知道它想传达什么吗?谢谢。 最佳答案 每当在命令行上运行一组函数时,控制台输出的最后一行始终是输入中最后一个操作的返回值。该符号在命令执行开始后一直有控制台输出时调用函数的返回值。这是为了避免在这种情况下造成混淆:functionlogVar(s

javascript - node.js - 为什么匿名回调

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我正在学习node.js,并且注意到几乎所有回调都作为匿名回调内联到函数中。以这种方式做事背后有特定的原因吗?我认为使用命名回调并将其定义为本地函数有两个优点:1.它更简洁,不会将函数变成一大段代码2.给定一个合适的名字,它充当文档——描述回调应该做什么

javascript - inherit.js 中的奇怪正则表达式(John Resig 着)——为什么、什么以及如何?

这个问题在这里已经有了答案:StrangeJavaScriptidiom-whatdoes"/xyz/.test(function(){xyz;})"do?(1个回答)关闭8年前。我最近使用了一个littleutilitylibrary作者:JohnResig,称为inherit.js.我通常试图理解我正在使用的库的核心部分,经过一番摸索之后我终于理解了代码的难点(即他如何调用父类(superclass)的相应方法)。我没有得到的1%位与正则表达式有关fnTest=/xyz/.test(function(){xyz;})?/\b_super\b/:/.*/;正则表达式/xyz/针对函数

javascript - 使用 instanceof 和检查构造函数有什么区别?

为什么下面两行返回不同的结果?("test"instanceofString)//returnsfalse("test".constructor==String)//returnstrue在chrome版本28.0.1500.95m的控制台测试对于原生类型,它的工作方式是否略有不同? 最佳答案 constructor只是内部[[prototype]]属性的一个属性,可以轻松操作:functionA(){}functionB(){}A.prototype.constructor=B;vara=newA();console.log(a.